AuroraのスナップショットをAWS Backupにてクロスリージョンにコピーする際に任意のKMSキーを選択する方法
こんにちはカスタマーソリューション部のこーへいです!
今回はAWS Backupを使用して、クロスリージョンにスナップショットをコピーする際に任意のKMSキーを選択する方法を共有、それに至るまでの検証結果をまとめてみました。
結論
AWS Backupでスナップショットを取得する際の暗号化に使用されるKMSキーは以下となる。
- メインリージョンのスナップショット
- Auroraの暗号化で使用されたKMSキーが使用される
- コピー先リージョンのスナップショット
- バックアップボールトに設定されたKMSキーが使用される
- 「Default」の場合などバックアップボールトにAWSマネージドキー「alias/aws/backup」が使用されている場合、RDS版のAWSマネージドキー「alias/aws/rds」が使用される
RDS側からスナップショットをクロスリージョンにコピーする際はKMSキーが選択できる
AWS Backupを使用せずに、メインリージョンのRDSサービスからスナップショットを手動でクロスリージョンにコピーする手順の場合は、以下の画像の通り任意のKMSキーを選択できます。
一方でAWS Backupの場合はバックアップルールからKMSキーを選択できない
画像の通り、AWS BackupからだとKMSキーを選択する方法はありません。
Creating backup copies across AWS RegionsやEncryption for backups in AWS Backupあたりのドキュメントを読んでみても、KMSキーを選択する方法は汲み取れませんでした。
AWS Backupでも任意のKMSキーを選択する方法が何かあるはず。ということでまずはKMSのマルチリージョンキーを試すとどうなるか検証してみました。
マルチリージョンキーで暗号化を試してみた
マルチリージョンキーを作成する
まずはKMSにてマルチリージョンキーを作成します。
詳細オプションにて「マルチリージョンキー」の選択、エイリアスを「test-key-multi」にし、その他の項目はデフォルトのまま作成します。
作成後、CMKキーをバージニア北部にレプリケートします。
エイリアスは「test-key-multi-virginia」にしました。
RDSを作成する
東京リージョンでRDSを作成します。暗号化にて先ほど作成した「test-key-multi」を選択してください。
AWS Backupでバックアッププランを作成する
「新しいプランを立てる」を選択し、バックアッププラン名は「test-backup-plan」としました。
またバックアップルール名は「test-backup-rule」としました。
検証のため開始時間はリアルタイム付近にすると良いでしょう。保持期間も1日にしました。
クロスリージョンコピーの項目では「バージニア北部」とし、バックアップボールトでは「Default(バージニア北部のもの)」を選択しました。
そのまま作成します。
バックアップ対象のリソースは、今回作成したAuroraのクラスターが含まれるようにしましょう。
スナップショットを確認する
それでは、AWS Backupで取得したスナップショットを確認します。
東京リージョンのスナップショットは、元のAuroraクラスターの暗号化で設定した「test-key-multi」が使われていました。
一方で、バージニア北部では「test-key-multi-virginia」ではなく、「alias/aws/rds」が使用されていることがわかりました。
追加検証として、AuroraにてマルチリージョンキーでないCMKキーと、AWSマネージドキーを使用して暗号化した場合の検証をしました。
結果として東京リージョンのスナップショットで使用されるKMSキーは、どちらもAuroraで使用されたキーと同じでした。
しかしコピー先のバージニア北部のスナップショットは、どちらもマルチリージョンキーと同じく、AWSマネージドキーである「alias/aws/rds」でした。
なんとなく予想していましたが、この方法では任意のKMSキーを選択する方法にはなり得ないようです。
クロスリージョンにスナップショットをコピーする際に任意のKMSキーを選択する方法
というわけで当てが外れたので、一から方法を模索したのですが以下の記事を発見することができました。
どうやら執筆者の方が検証したところ、バックアップボールトで使用されるKMSキーがクロスリージョンにコピーしたスナップショットの暗号化に使用されるとのことでした。
早速「test-key-multi-virginia」で暗号化設定したバックアップボールト「test-backup-vault」を作成し、試してみました。
バックアップルールに設定しているバージニア北部のボールトも「test-backup-vault」に変更します。
この状態で検証した結果、Aurora(もしくは東京リージョンのスナップショット)に使用されるKMSキーに関係なく、バージニア北部のスナップショットの暗号化にはバックアップボールトに設定したKMSキーが使用されました!
というわけで改めて結論
AWS Backupでスナップショットを取得する際の暗号化に使用されるKMSキーは以下となる。
- メインリージョンのスナップショット
- Auroraの暗号化で使用されたKMSキーが使用される
- コピー先リージョンのスナップショット
- バックアップボールトに設定されたKMSキーが使用される
- 「Default」の場合などバックアップボールトにAWSマネージドキー「alias/aws/backup」が使用されている場合、RDS版のAWSマネージドキー「alias/aws/rds」が使用される
まとめ
最終的には、AWS Backupを使ってCMKで暗号化したバックアップをクロスリージョンで作成してみたを確認することで、AWS Backupでクロスリージョンにスナップショットをコピーする際に任意のKMSキーを選択する方法がわかりました(執筆者の方ありがとうございます)。
ですがマルチリージョンキーを使用した場合の検証結果については共有する意味があると思い、備忘録として本記事をまとめました。
この記事が参考になれば幸いです。